nethackfandomcom-20200214-history
Source:NetHack 1.3d/you.h
Below is the full text to you.h from the source code of NetHack 1.3d. To link to a particular line, write [[NetHack 1.3d/you.h#line123]], for example. Warning! This is the source code from an old release. For the latest release, see Source code 1. /* SCCS Id: @(#)you.h 1.3 87/07/14 2. /* Copyright © Stichting Mathematisch Centrum, Amsterdam, 1985. */ 3. /* you.h - version 1 */ 4. 5. #include "config.h" 6. #include "onames.h" 7. #include "permonst.h" 8. 9. struct prop { 10. #define TIMEOUT 007777 /* mask */ 11. #define LEFT_RING W_RINGL /* 010000L */ 12. #define RIGHT_RING W_RINGR /* 020000L */ 13. #define INTRINSIC 040000L 14. #define LEFT_SIDE LEFT_RING 15. #define RIGHT_SIDE RIGHT_RING 16. #define BOTH_SIDES (LEFT_SIDE | RIGHT_SIDE) 17. long p_flgs; 18. int (*p_tofn)(); /* called after timeout */ 19. }; 20. 21. struct you { 22. xchar ux, uy; 23. schar dx, dy, dz; /* direction of move (or zap or ... ) */ 24. schar di; /* direction of FF */ 25. xchar ux0, uy0; /* initial position FF */ 26. xchar udisx, udisy; /* last display pos */ 27. char usym; /* usually '@' */ 28. schar uluck; 29. #define LUCKMAX 10 /* on moonlit nights 11 */ 30. #define LUCKMIN (-10) 31. int last_str_turn; /* 0: none, 1: half turn, 2: full turn */ 32. /* +: turn right, -: turn left */ 33. unsigned udispl; /* @ on display */ 34. unsigned ulevel; /* 1 - 14 */ 35. #ifdef QUEST 36. unsigned uhorizon; 37. #endif 38. unsigned utrap; /* trap timeout */ 39. unsigned utraptype; /* defined if utrap nonzero */ 40. #define TT_BEARTRAP 0 41. #define TT_PIT 1 42. #ifdef SPIDERS 43. #define TT_WEB 2 44. #endif SPIDERS 45. unsigned uinshop; /* used only in shk.c - (roomno+1) of shop */ 46. 47. /* perhaps these #define's should also be generated by makedefs */ 48. #define TELEPAT LAST_RING /* not a ring */ 49. #define HTelepat u.upropsTELEPAT.p_flgs 50. #define Telepat ((HTelepat) || (u.usym 'E')) 51. #define FAST (LAST_RING+1) /* not a ring */ 52. #define Fast u.upropsFAST.p_flgs 53. #define CONFUSION (LAST_RING+2) /* not a ring */ 54. #define HConfusion u.upropsCONFUSION.p_flgs 55. #define Confusion ((HConfusion) || index("BIy", u.usym)) 56. #define INVIS (LAST_RING+3) /* not a ring */ 57. #define HInvis u.upropsINVIS.p_flgs 58. #define Invis ((HInvis) || u.usym 'I') 59. #define Invisible (Invis && !See_invisible) 60. #define GLIB (LAST_RING+4) /* not a ring */ 61. #define Glib u.upropsGLIB.p_flgs 62. #define PUNISHED (LAST_RING+5) /* not a ring */ 63. #define Punished u.upropsPUNISHED.p_flgs 64. #define SICK (LAST_RING+6) /* not a ring */ 65. #define Sick u.upropsSICK.p_flgs 66. #define BLIND (LAST_RING+7) /* not a ring */ 67. #define Blind u.upropsBLIND.p_flgs 68. #define WOUNDED_LEGS (LAST_RING+8) /* not a ring */ 69. #define Wounded_legs u.upropsWOUNDED_LEGS.p_flgs 70. #define STONED (LAST_RING+9) /* not a ring */ 71. #define Stoned u.upropsSTONED.p_flgs 72. #define HALLUCINATION (LAST_RING+10) /* not a ring */ 73. #define Hallucination u.upropsHALLUCINATION.p_flgs 74. #define PROP(x) (x-RIN_ADORNMENT) /* convert ring to index in uprops */ 75. unsigned umconf; 76. char *usick_cause; 77. struct prop upropsLAST_RING+11; 78. int mh, mhmax, mtimedone, umonnum; /* for polymorph-self */ 79. #if defined(KOPS) && defined(KAA) 80. unsigned ucreamed; 81. #endif 82. unsigned uswallow; /* set if swallowed by a monster */ 83. unsigned uswldtim; /* time you have been swallowed */ 84. unsigned uhs; /* hunger state - see hack.eat.c */ 85. #ifdef HARD 86. unsigned udemigod; /* once you kill the wiz */ 87. unsigned udg_cnt; /* how long you have been demigod */ 88. #endif 89. schar ustr,ustrmax; 90. schar udaminc; 91. schar uac; 92. int uhp,uhpmax; 93. #ifdef SPELLS 94. int uen,uenmax; /* magical energy - M. Stephenson */ 95. #endif 96. #ifdef PRAYERS 97. int ugangr; /* if the gods are angry at you */ 98. int ublessed,ublesscnt; /* blessing/duration from #pray */ 99. #endif 100. long int ugold,ugold0,uexp,urexp; 101. int uhunger; /* refd only in eat.c and shk.c */ 102. int uinvault; 103. struct monst *ustuck; 104. int nr_killedCMNUM+2; /* used for experience bookkeeping */ 105. }; you.h